// 基本主题配置样式

.s-main {
    color: var(--main-color);
}

.s-content {
    color: var(--content-color);
}

.s-tips {
    color: var(--tips-color);
}

.s-light {
    color: var(--light-color);
}

.s-border {
    @include retina-border(1, 1, 1, 1, var(--border-color));
}

.s-bg {
    background-color: var(--bg-color);
}

:disabled {
    color: var(--disabled-color);
}

.s-primary {
    color: var(--primary);
}

.s-primary-dark {
    color: var(--primary-dark);
}

.s-primary-disabled {
    color: var(--primary-disabled);
}

.s-primary-light {
    color: var(--primary-light);
}

.s-warning {
    color: var(--warning);
}

.s-warning-dark {
    color: var(--warning-dark);
}

.s-warning-disabled {
    color: var(--warning-disabled);
}

.s-warning-light {
    color: var(--warning-light);
}


.s-success {
    color: var(--success);
}

.s-success-dark {
    color: var(--success-dark);
}

.s-success-disabled {
    color: var(--success-disabled);
}

.s-success-light {
    color: var(--success-light);
}


.s-error {
    color: var(--error);
}

.s-error-dark {
    color: var(--error-dark);
}

.s-error-disabled {
    color: var(--error-disabled);
}

.s-error-light {
    color: var(--error-light);
}

.s-info {
    color: var(--info);
}

.s-info-dark {
    color: var(--info-dark);
}

.s-info-disabled {
    color: var(--info-disabled);
}

.s-info-light {
    color: var(--info-light);
}

// 截取自fundation.css样式：start
[data-whatintent="mouse"] *,
[data-whatintent="mouse"] *:focus,
[data-whatintent="touch"] *,
[data-whatintent="touch"] *:focus,
[data-whatinput="mouse"] *,
[data-whatinput="mouse"] *:focus,
[data-whatinput="touch"] *,
[data-whatinput="touch"] *:focus {
    outline: none;
}

[draggable=false] {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
}

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

*,
*::before,
*::after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

body {
    margin: 0;
    padding: 0;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: normal;
    line-height: 1.5;
    color: var(--main-color);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img {
    display: inline-block;
    vertical-align: middle;
    max-width: 100%;
    height: auto;
    -ms-interpolation-mode: bicubic;
}

textarea {
    height: auto;
    border-radius: 0;
}

select {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    border-radius: 0;
}

button,
.s-btn{
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    line-height: 1.5;
    cursor: auto;
}

[data-whatinput='mouse'] button {
    outline: 0;
}

pre {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
}

.is-visible {
    display: block !important;
}

.is-hidden {
    display: none !important;
}

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0;
}

p {
    margin-bottom: 1rem;
    font-size: inherit;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
}

em,
i {
    font-style: italic;
    line-height: inherit;
}

strong,
b,
.blod {
    font-weight: bold;
    line-height: inherit;
}

small {
    font-size: 80%;
    line-height: inherit;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-style: normal;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 1rem;
    color: inherit;
    text-rendering: optimizeLegibility;
}

h1,
.h1 {
    font-size: 2.4rem;
}

h2,
.h2 {
    font-size: 2rem;
}

h3,
.h3 {
    font-size: 1.8rem;
}

h4,
.h4 {
    font-size: 1.6rem;
}

h5,
.h5 {
    font-size: 1.4rem;
}

h6,
.h6 {
    font-size: 1.2rem;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

.text-justify {
    text-align: justify;
}

a,
a:visited {
    text-decoration: underline;
}

.ir a:after,
a[href^='javascript:']:after,
a[href^='#']:after {
    content: '';
}

pre,
blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid;
}

thead {
    display: table-header-group;
}

tr,
img {
    page-break-inside: avoid;
}

.img {
    width: 100%;
}

// 截取自fundation.css样式：end

a {
    line-height: inherit;
    color: var(--primary);
    text-decoration: none;
    cursor: pointer;
}

a:hover,
a:focus {
    color: var(--primary-dark);
}

a img {
    border: 0;
}

.s-btn {

    line-height: 2.4em;
    font-size: 1.2rem;
    box-sizing: border-box;
    padding: 0 1.2rem;
    color: var(--main-color);
    background-color: var(--bg-color);
    @include retina-border(1, 1, 1, 1, var(--border-color));
    
    &:hover {
        background-color: var(--light-color);
    }

    &.plus-height{
        line-height: 2.6em;
    }

    &.circle{
        border-radius: 1.6em;

        &::before{
            border-radius: 3.6em;
        }

        &.plus-height{
            border-radius: 1.9em;

            &::before{
                border-radius: 3.8em;
            }
        }
    }


    &.primary {
        background-color: var(--primary);
        color: #fff;

        &:hover {
            background-color: var(--primary-dark);
        }

        &::before{
            border-color: var(--primary-dark);
        }

        &.disabled,
        &:disabled {
            background-color: var(--primary-disabled);
        }
    }

    &.warning {
        background-color: var(--warning);
        color: #fff;

        &:hover {
            background-color: var(--warning-dark);
        }

        &::before{
            border-color: var(--warning-dark);
        }

        &.disabled,
        &:disabled {
            background-color: var(--warning-disabled);
        }
    }

    &.success {
        background-color: var(--success);
        color: #fff;

        &:hover {
            background-color: var(--success-dark);
        }

        &::before{
            border-color: var(--success-dark);
        }

        &.disabled,
        &:disabled {
            background-color: var(--success-disabled);
        }
    }


    &.error {
        background-color: var(--error);
        color: #fff;

        &:hover {
            background-color: var(--error-dark);
        }

        &::before{
            border-color: var(--error-dark);
        }
    
        &.disabled,
        &:disabled {
            background-color: var(--error-disabled);
        }
    }
}


// 网格样式:start
.s-grid-x {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
}

.s-cell {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
}

.s-grid-x>.auto {
    width: auto;
}

.s-grid-x>.s-cell-shrink,
.s-grid-x>.s-cell-full,
.s-grid-x>.s-cell-1,
.s-grid-x>.s-cell-2,
.s-grid-x>.s-cell-3,
.s-grid-x>.s-cell-4,
.s-grid-x>.s-cell-5,
.s-grid-x>.s-cell-6,
.s-grid-x>.s-cell-7,
.s-grid-x>.s-cell-8,
.s-grid-x>.s-cell-9,
.s-grid-x>.s-cell-10,
.s-grid-x>.s-cell-11,
.s-grid-x>.s-cell-12 {
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
    box-sizing: border-box;
}

.s-grid-x>.s-cell-1,
.s-grid-x>.s-cell-2,
.s-grid-x>.s-cell-3,
.s-grid-x>.s-cell-4,
.s-grid-x>.s-cell-5,
.s-grid-x>.s-cell-6,
.s-grid-x>.s-cell-7,
.s-grid-x>.s-cell-8,
.s-grid-x>.s-cell-9,
.s-grid-x>.s-cell-10,
.s-grid-x>.s-cell-11,
.s-grid-x>.s-cell-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.s-grid-x>.s-cell-1 {
    width: 8.33333%;
}

.s-grid-x>.s-cell-2 {
    width: 16.66667%;
}

.s-grid-x>.s-cell-3 {
    width: 25%;
}

.s-grid-x>.s-cell-4 {
    width: 33.33333%;
}

.s-grid-x>.s-cell-5 {
    width: 41.66667%;
}

.s-grid-x>.s-cell-6 {
    width: 50%;
}

.s-grid-x>.s-cell-7 {
    width: 58.33333%;
}

.s-grid-x>.s-cell-8 {
    width: 66.66667%;
}

.s-grid-x>.s-cell-9 {
    width: 75%;
}

.s-grid-x>.s-cell-10 {
    width: 83.33333%;
}

.s-grid-x>.s-cell-11 {
    width: 91.66667%;
}

.s-grid-x>.s-cell-12 {
    width: 100%;
}

.align-left {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.align-right {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.align-center {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.align-justify {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.align-spaced {
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.align-top {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.align-self-top {
    -webkit-align-self: flex-start;
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.align-bottom {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.align-self-bottom {
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end;
}

.align-middle {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

.align-self-middle {
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center;
}

.align-stretch {
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.align-self-stretch {
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
}

.align-center-middle {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
}

.order_1 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order: 1;
}

.order_2 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
}

.order_3 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order: 3;
}

.order_4 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
    -ms-flex-order: 4;
    order: 4;
}

.order_5 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 5;
    -ms-flex-order: 5;
    order: 5;
}

.order_6 {
    -webkit-box-ordinal-group: 7;
    -webkit-order: 6;
    -ms-flex-order: 6;
    order: 6;
}

// 网格样式:end

// 字体样式:start
.font_xsmall {
    font-size: var(--font-xsmall);
}

.font_small {
    font-size: var(--font-small);
}

.font_medium {
    font-size: var(--font-medium);
}

.font_large {
    font-size: var(--font-large);
}

.font_xlarge {
    font-size: var(--font-xlarge);
}

.font_xxlarge {
    font-size: var(--font-xxlarge);
}

.l-h_1 {
    line-height: 1;
}

.l-h_15 {
    line-height: 1.5;
}

// 字体样式:end

// 边距样式:start

.m_0 {
    margin: 0;
}


.m_xsmall {
    margin: var(--padding-xsmall);
}

.m-t_xsmall {
    margin-top: var(--padding-xsmall);
}

.m-r_xsmall {
    margin-right: var(--padding-xsmall);
}

.m-b_xsmall {
    margin-bottom: var(--padding-xsmall);
}

.m-l_xsmall {
    margin-left: var(--padding-xsmall);
}

.m_small {
    margin: var(--padding-small);
}

.m-t_small {
    margin-top: var(--padding-small);
}

.m-r_small {
    margin-right: var(--padding-small);
}

.m-b_small {
    margin-bottom: var(--padding-small);
}

.m-l_small {
    margin-left: var(--padding-small);
}

.m_medium {
    margin: var(--padding-medium);
}

.m-t_medium {
    margin-top: var(--padding-medium);
}

.m-r_medium {
    margin-right: var(--padding-medium);
}

.m-b_medium {
    margin-bottom: var(--padding-medium);
}

.m-l_medium {
    margin-left: var(--padding-medium);
}

.m_large {
    margin: var(--padding-large);
}

.m-t_large {
    margin-top: var(--padding-large);
}

.m-r_large {
    margin-right: var(--padding-large);
}

.m-b_large {
    margin-bottom: var(--padding-large);
}

.m-l_large {
    margin-left: var(--padding-large);
}

.m_xlarge {
    margin: var(--padding-xlarge);
}

.m-t_xlarge {
    margin-top: var(--padding-xlarge);
}

.m-r_xlarge {
    margin-right: var(--padding-xlarge);
}

.m-b_xlarge {
    margin-bottom: var(--padding-xlarge);
}

.m-l_xlarge {
    margin-left: var(--padding-xlarge);
}


.m_xxlarge {
    margin: var(--padding-xxlarge);
}

.m-t_xxlarge {
    margin-top: var(--padding-xxlarge);
}

.m-r_xxlarge {
    margin-right: var(--padding-xxlarge);
}

.m-b_xxlarge {
    margin-bottom: var(--padding-xxlarge);
}

.m-l_xxlarge {
    margin-left: var(--padding-xxlarge);
}


.p_0 {
    padding: 0;
}


.p_xsmall {
    padding: var(--padding-xsmall);
}

.p-t_xsmall {
    padding-top: var(--padding-xsmall);
}

.p-r_xsmall {
    padding-right: var(--padding-xsmall);
}

.p-b_xsmall {
    padding-bottom: var(--padding-xsmall);
}

.p-l_xsmall {
    padding-left: var(--padding-xsmall);
}

.p_small {
    padding: var(--padding-small);
}

.p-t_small {
    padding-top: var(--padding-small);
}

.p-r_small {
    padding-right: var(--padding-small);
}

.p-b_small {
    padding-bottom: var(--padding-small);
}

.p-l_small {
    padding-left: var(--padding-small);
}

.p_medium {
    padding: var(--padding-medium);
}

.p-t_medium {
    padding-top: var(--padding-medium);
}

.p-r_medium {
    padding-right: var(--padding-medium);
}

.p-b_medium {
    padding-bottom: var(--padding-medium);
}

.p-l_medium {
    padding-left: var(--padding-medium);
}

.p_large {
    padding: var(--padding-large);
}

.p-t_large {
    padding-top: var(--padding-large);
}

.p-r_large {
    padding-right: var(--padding-large);
}

.p-b_large {
    padding-bottom: var(--padding-large);
}

.p-l_large {
    padding-left: var(--padding-large);
}

.p_xlarge {
    padding: var(--padding-xlarge);
}

.p-t_xlarge {
    padding-top: var(--padding-xlarge);
}

.p-r_xlarge {
    padding-right: var(--padding-xlarge);
}

.p-b_xlarge {
    padding-bottom: var(--padding-xlarge);
}

.p-l_xlarge {
    padding-left: var(--padding-xlarge);
}


.p_xxlarge {
    padding: var(--padding-xxlarge);
}

.p-t_xxlarge {
    padding-top: var(--padding-xxlarge);
}

.p-r_xxlarge {
    padding-right: var(--padding-xxlarge);
}

.p-b_xxlarge {
    padding-bottom: var(--padding-xxlarge);
}

.p-l_xxlarge {
    padding-left: var(--padding-xxlarge);
}

// 边距样式:end

// 圆角样式：start

.r_xsmall{
    border-radius: var(--radiu-xsmall);

    &::before{
        border-radius: calc(var(--radiu-xsmall) * 2);
    }
}

.r_small {
    border-radius: var(--radiu-small);
    &::before{
        border-radius: calc(var(--radiu-small) * 2);
    }
}

.r_medium {
    border-radius: var(--radiu-medium);

    &::before{
        border-radius: calc(var(--radiu-medium) * 2);
    }
}

.r_large {
    
    border-radius: var(--radiu-large);

    &::before{
        border-radius: calc(var(--radiu-large) * 2);
    }
}

.r_xlarge {
    border-radius: var(--radiu-xlarge);

    &::before{
        border-radius: calc(var(--radiu-xlarge) * 2);
    }
}

.r_circle{
    border-radius: 50%;

    &::before{
        border-radius: 50%;
    }
}

.no-r{
    border-radius: 0 !important;
}

// 圆角样式：end


// 边框样式：start

.b-t {
    @include retina-border(1, 0, 0, 0, var(--border-color));
}

.b-r {
    @include retina-border(0, 1, 0, 0, var(--border-color));
}

.b-b {
    @include retina-border(0, 0, 1, 0, var(--border-color));
}

.b-l {
    @include retina-border(0, 0, 0, 1, var(--border-color));
}

// 边框样式：end

// 图标样式

.s-icon-arrow {
    border: solid var(--border-color);
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: .3em;


    &.s-icon-arrow_right {
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
    }

    &.s-icon-arrow_left {
        transform: rotate(135deg);
        -webkit-transform: rotate(135deg);
    }

    &.s-icon-arrow_up {
        transform: rotate(-135deg);
        -webkit-transform: rotate(-135deg);
    }

    &.s-icon-arrow_down {
        transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
    }

    &.thin {
        border-width: 0 1px 1px 0;
    }

    &.primary {
        border-color: var(--primary-dark);
    }

    &.success {
        border-color: var(--success-dark);
    }

    &.error {
        border-color: var(--error-dark);
    }

    &.warning {
        border-color: var(--warning-dark);
    }

    &.info {
        border-color: var(--info-dark);
    }

}

.s-icon-checkbox {

    position: relative;
    width: 1em;
    height: 1em;
    background-color: transparent;
    display: inline-block;
    display: inline-flex;
    vertical-align: middle;
    box-sizing: border-box;
    @include retina-border(1, 1, 1, 1, var(--content-color));

    &>i::after, 
    &>span::after{
        content: "";
        font-size: 1em;
        border: solid var(--content-color);
        border-width: 0 0 .15em .15em;
        width: .6em;
        height: .3em;
        display: block;
        box-sizing: border-box;
        position: absolute;
        left: .2em;
        top: .35em;
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
    }

    &.s-icon-checkbox_circle {
        border-radius: 100%;

        &::before {
            border-radius: 100%;
        }

        &>i::after,
        &>span::after {
            border-radius: 0 0 0 .1em;
        }
    }

    &.checked {
        background-color: var(--primary);

        &::before {
            border-color: var(--primary);
        }

        &>i::after,
        &>span::after,
        &.disabled>i::after,
        &.disabled>span::after {
            border-color: #fff;
        }

        &.dark {
            background-color: var(--primary-dark);

            &::before {
                border-color: var(--primary-dark);
            }
        }
    }

    &.disabled {
        background-color: transparent !important;

        &::before {
            border-color: var(--disabled-color) !important;
        }

        &>i::after,
        &>span::after {
            border-color: var(--disabled-color) !important;
        }
    }

}

.s-icon-radio {
    position: relative;
    width: 1em;
    height: 1em;
    background-color: transparent;
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
    border-radius: 100%;
    @include retina-border(1, 1, 1, 1, var(--content-color));

    &::before {
        border-radius: 100%;
    }

    &>i::after,
    &>span::after {
        content: "";
        font-size: 1em;
        width: .5em;
        height: .5em;
        border-radius: 100%;
        display: block;
        box-sizing: border-box;
        position: absolute;
        left: .25em;
        top: .25em;
    }

    &.checked {
        &::before {
            border-color: var(--primary);
        }

        &>i::after,
        &>span::after {
            background-color: var(--primary);
        }

        &.dark {
            &::before {
                border-color: var(--primary-dark);
            }

            &>i::after,
            &>span::after {
                background-color: var(--primary-dark);
            }
        }
    }

    &.disabled {
        &.checked>i::after,
        &.checked>span::after {
            background-color: var(--disabled-color);
        }

        &::before {
            border-color: var(--disabled-color) !important;
        }
    }
}

.s-icon-char {
    position: relative;
    width: 1em;
    height: 1em;
    background-color: transparent;
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
    @include retina-border(1, 1, 1, 1, var(--content-color));


    &::after {
        content: attr(data-character);
        font-size: .8em;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        text-align: center;
        line-height: 1.25em;
        font-style: normal;
    }

    &.blod::after {
        font-weight: bold;
    }

    &.s-icon-char_circle {
        border-radius: 100%;

        &::before {
            border-radius: 100%;
        }
    }

    &.fill {
        background-color: var(--content-color);

        &::after {
            color: #fff;
        }
    }

    // 根据主题设置颜色
    &.primary {
        &::before {
            border-color: var(--primary);
        }

        &::after {
            color: var(--primary);
        }
    }

    &.success {
        &::before {
            border-color: var(--success);
        }

        &::after {
            color: var(--success);
        }
    }

    &.warning {
        &::before {
            border-color: var(--warning);
        }

        &::after {
            color: var(--warning);
        }
    }

    &.error {
        &::before {
            border-color: var(--error);
        }

        &::after {
            color: var(--error);
        }
    }

    &.info {
        &::before {
            border-color: var(--info);
        }

        &::after {
            color: var(--info);
        }
    }

    &.fill {

        &::after {
            color: #fff;
        }

        &.primary {
            background-color: var(--primary);

            &::before {
                border-color: var(--primary);
            }
        }

        &.success {
            background-color: var(--success);

            &::before {
                border-color: var(--success);
            }
        }

        &.warning {
            background-color: var(--warning);

            &::before {
                border-color: var(--warning);
            }
        }

        &.error {
            background-color: var(--error);

            &::before {
                border-color: var(--error);
            }
        }

        &.info {
            background-color: var(--info);

            &::before {
                border-color: var(--info);
            }
        }
    }
}

.s-icon-swith {

    position: relative;
    height: 1em;
    width: 1.8em;
    display: inline-block;
    background-color: transparent;
    box-sizing: border-box;
    border-radius: .5em;
    @include retina-border(1, 1, 1, 1, var(--content-color));

    &::before {
        border-radius: 2em;
    }

    &::after {
        content: "";
        display: block;
        position: absolute;
        width: .8em;
        height: .8em;
        margin: .1em;
        left: 0;
        border-radius: 100%;
        background-color: var(--content-color);
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }

    &.active {

        background-color: var(--content-color);

        &::after {
            background-color: #fff !important;
            translate: .8em;
            -webkit-transition: all 0.3s ease;
            -moz-transition: all 0.3s ease;
            transition: all 0.3s ease;
        }
    }

    &.primary {
        &::before {
            border-color: var(--primary);
        }

        &::after {
            background-color: var(--primary);
        }

        &.active {
            background-color: var(--primary);
        }
    }

    &.success {
        &::before {
            border-color: var(--success);
        }

        &::after {
            background-color: var(--success);
        }

        &.active {
            background-color: var(--success);
        }
    }

    &.error {
        &::before {
            border-color: var(--error);
        }

        &::after {
            background-color: var(--error);
        }

        &.active {
            background-color: var(--error);
        }
    }

    &.warning {
        &::before {
            border-color: var(--warning);
        }

        &::after {
            background-color: var(--warning);
        }

        &.active {
            background-color: var(--warning);
        }
    }

}


// 其他常用样式

.display_block {
    display: block;
}

.no-b,
.no-b::before{
    border: none;
}

.opacity_0{
    opacity: 0 !important;
}

.w_100 {
    width: 100%;
}

.o-f_hidden {
    overflow: hidden;
}

.safe-p-b {
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
}

.safe-p-t {
    padding-bottom: constant(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-top);
}

.fixed-b {
    position: fixed;
    bottom: -1px;
    left: 0;
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
}